home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / Drivers / ATIMach32PCI / ATI_hack.txt < prev    next >
Text File  |  1993-07-07  |  7KB  |  243 lines

  1. ATI HACK
  2.  
  3.  
  4. From qb.rhein-main.de!vhs@odb.rhein-main.de Wed Jul  6 05:17 CDT 1994
  5. Return-Path: <qb.rhein-main.de!vhs@odb.rhein-main.de>
  6. Received: from ki1.chemie.fu-berlin.de by slowhand (5.0/SMI-SVR4)
  7.     id AA27098; Wed, 6 Jul 94 05:16:58 CDT
  8. Received: by ki1.chemie.fu-berlin.de (Smail3.1.28.1)
  9.       from odb.rhein-main.de (193.141.47.4) with smtp
  10.       id <m0qLU1n-0000XWC>; Wed, 6 Jul 94 12:16 MEST
  11. Received: from qb.rhein-main.de by odb.rhein-main.de with uucp
  12.     (Smail3.1.28.1 #4) id m0qLU2W-000aShC; Wed, 6 Jul 94 12:17 MET DST
  13. Received: by qb.rhein-main.de (Smail3.1.28.1 #2)
  14.     id m0qLUTP-0027eAC; Wed, 6 Jul 94 11:45 GMT+0100
  15. Received: by NeXT.Mailer (1.100)
  16. Received: by NeXT Mailer (1.100)
  17. Message-Id: <m0qLUTP-0027eAC@qb.rhein-main.de>
  18. Date: Wed, 6 Jul 94 11:45 GMT+0100
  19. From: vhs@qb.rhein-main.de (Volker Herminghaus-Shirai)
  20. To: longsg01@slowhand.nmb.com (Gary Longsine)
  21. Subject: Re: ATI Mach32 PCI driver???
  22. Reply-To: vhs@qb.rhein-main.de
  23. Content-Type: text
  24. Content-Length: 6340
  25.  
  26. In comp.sys.next.misc article <2vc3l1$2kk@slowhand.nmb.com> you wrote:
  27. > Does anyone know where I can get the alleged 
  28.  
  29. > beta driver for the ATI Mach 32 PCI video?
  30. > Please respond via email...
  31. > Thanks!
  32. > Gary Longsine
  33. > longsg01@slowhand.nmb.com  (ascii mail only)
  34.  
  35. Try [info|drivers]@talus.com. I know they released one end April, but also  
  36. heard it's hard to get unless you buy a bundle of drivers from them. If you  
  37. hear of any alternatives, please let me know. I've been struggling with  
  38. mine for a while now, and getting tired.
  39.  
  40. BTW I have a Zenith 500 with mach32 and an STG1700 RAMDAC. There is a patch  
  41. that someone posted a while ago to make ATI/PCI running, but it probably  
  42. only works if you have one of the NeXT-supported RAMDACs (mine isn't  
  43. supported, of course :-(. You need the development system, though. Good  
  44. luck.
  45.  
  46.  
  47. --------- Cut here -------
  48.  
  49. >From: keiblin@cs.tu-berlin.de (Alexander Keiblinger)
  50. >Newsgroups: comp.sys.next.hardware
  51. >Subject: Re: ATI GUP on PCI WORKS!!! ,any interest ?
  52. >Date: 28 Jan 1994 13:21:20 GMT
  53. >Organization: Technical University of Berlin, Germany
  54. >
  55. >
  56. >Here the howto for the ATI GUP PCI card:
  57. >-You need the Developer Package to use it. I am not able to give you self
  58. > configuring binaries, because I do not have documentation for different
  59. > flavours of ATI PCI card registers. It should work with different  
  60. RAMDACS.
  61. > Mostly the ones you find in the NeXT Code.
  62. >
  63. > Use this only if you understand the code and/or are sure that your card  
  64. maps
  65. > in at 1GB and has a Video Port Adress of 0x2e0-0x2ef.
  66. > I use this pseudo-diff, to let you do some work in the interesting area  
  67. of the
  68. > code, so you can understand what you are doing. You will see the places  
  69. where
  70. > you have to change values to get it working for your own card.    
  71.  
  72. >
  73. >What to do:
  74. >
  75. >1) be sure you know, that you can reboot cleanly with  
  76. RightAlt+RCtrl+NumLock
  77. >   and then pressing "r" blind. This is for the case your window server  
  78. comes
  79. >   up with a wrong aperature address. Then you can reboot with  
  80. "config=Default"
  81. >   and fix it in VGA mode.
  82. >
  83. >2) Change 
  84.  
  85. >*** /NextDeveloper/Examples/DriverKit/ATI/Default.table    
  86. >--- /NextDeveloper/Examples/DriverKit/MyATI/Default.table
  87. >* "Memory Maps" = "0x7e00000-0x7ffffff 0xa0000-0xbffff 0xc0000-0xcffff";
  88. >! "I/O Ports" = "0x100-0x105 0x2e8-0x2ef 0x3b0-0x3e0 0x6e8-0x6ef  
  89. 0xae8-0xaef 0xee8-0xeef 0x12e8-0x12ef 0x16e8-0x42ef 0x46ee-0x46ef  
  90. 0x4ae8-0x4aef 0x52ee-0xfeef";
  91. >
  92. >to:
  93. >
  94. >! "Memory Maps" = "0x40000000-0x401fffff 0xa0000-0xbffff 0xc0000-0xcffff";
  95. >! "I/O Ports" = "0x2e0-0x2ef";
  96. >
  97. >to get new values as Default in Configure.app. The second and third values  
  98. in
  99. >Memory Maps should stay the way they are.
  100. >
  101. >3) Change
  102. >
  103. >*** /NextDeveloper/Examples/DriverKit/ATI/ATI_reloc.tproj/ATIModes.h    
  104. >--- /NextDeveloper/Examples/DriverKit/MyATI/ATI_reloc.tproj/ATIModes.h
  105. >* #define    INTEL_CORSAIR_FB_ADDR        0x7a000000
  106. >to:
  107. >! #define    INTEL_CORSAIR_FB_ADDR        0x40000000
  108.  
  109. >to burn in my Memory Aperature Address
  110. >
  111. >4) Add
  112. >
  113. >*** /NextDeveloper/Examples/DriverKit/ATI/ATI_reloc.tproj/ATI.m    
  114. >--- /NextDeveloper/Examples/DriverKit/MyATI/ATI_reloc.tproj/ATI.m
  115. >***************
  116. >*** 119,126 ****
  117. >  {
  118. >      unsigned char *ip;
  119. >      unsigned int location;    /* Base address in Mbytes */
  120. >!     
  121. >      /*
  122. >       * The PC BIOS is broken into 2 Kb slices. On startup, the ATI BIOS
  123. >       * stashes away which 2 Kb slice it live in in scratch reg 0.
  124. >--- 119,133 ----
  125. >  {
  126. >      unsigned char *ip;
  127. >      unsigned int location;    /* Base address in Mbytes */
  128. >!         
  129. >!
  130. >! #if DEBUG
  131. >!     IOLog("MemoryAperatureBaseAddress() == 0x%x\n",  
  132. INTEL_CORSAIR_FB_ADDR);
  133. >! #endif
  134. >!     return(INTEL_CORSAIR_FB_ADDR); /* Return phys address in bytes, not  
  135. Mb */
  136. >!
  137. >!
  138. >      /*
  139. >       * The PC BIOS is broken into 2 Kb slices. On startup, the ATI BIOS
  140. >
  141. >to get burned in configured Aperature Adress and nothing else!
  142. >
  143. >5) Add
  144. >
  145. >*** /NextDeveloper/Examples/DriverKit/ATI/ATI_reloc.tproj/ATI.m    
  146. >--- /NextDeveloper/Examples/DriverKit/MyATI/ATI_reloc.tproj/ATI.m
  147. >***************
  148. >*** 160,166 ****
  149. >--- 167,180 ----
  150. >  {
  151. >      unsigned char *ip;
  152. >      unsigned int location;
  153. >+
  154. >+     /*
  155. >+      * It's never safe to reprogram Corsair Style Bios, as we don't  
  156. know
  157. >+      * how to set the off-chip decoding logic.
  158. >+      */
  159. >+      return NO;
  160. >+
  161. >  #if DEBUG
  162. >      IOLog("SetMemoryAperatureBaseAddress(0x%x)\n", newLocation );
  163. >  #endif
  164. >
  165. >6) Add
  166. >
  167. >*** /NextDeveloper/Examples/DriverKit/ATI/ATI_reloc.tproj/ATI.m    
  168. >--- /NextDeveloper/Examples/DriverKit/MyATI/ATI_reloc.tproj/ATI.m
  169. >***************
  170. >*** 510,516 ****
  171. >--- 524,534 ----
  172. >       * DriverKit which prevents setting addresses in the high 2 Gb of
  173. >       * address space.
  174. >       */
  175. >+
  176. >+     break;
  177. >+     /* We dont want the following */
  178. >+       
  179.  
  180. >      if (range->start != physLoc || range->size < length) {
  181. >          IOLog("%s: FB addr decodes as 0x%x, overriding configured "
  182. >            "addr 0x%x.\n", [self name], physLoc, range->start);
  183. >
  184. >to come around bus logic tests.
  185. >
  186. >7) Add
  187. >
  188. >*** /NextDeveloper/Examples/DriverKit/ATI/ATI_reloc.tproj/ATI.m    
  189. >--- /NextDeveloper/Examples/DriverKit/MyATI/ATI_reloc.tproj/ATI.m
  190. >***************
  191. >*** 619,625 ****
  192. >--- 637,649 ----
  193. >  {
  194. >      int slot;
  195. >      unsigned int product_id;
  196. >+
  197. >+     /* This is what we want */
  198. >+     IOLog("%s: Assuming a PCI bus ATI card.\n", [self name]);
  199. >+     ati_flavor = ATICorsair;
  200. >+     return TRUE;
  201. >+
  202. >     
  203.  
  204. >      /* First, scan for a board in an EISA slot. */
  205. >      if ([self isEISAPresent] == TRUE) {
  206. >
  207. >for card id.
  208. >
  209. >Now you can build the project. Build DEBUG recommended.
  210. >
  211. >That were the changes in the Driver Kit ATI code to get it going. Now you  
  212. have
  213. >to as root:
  214. >
  215. >-mv /usr/Devices/ATI.config to /usr/Devices/ATI.config.original
  216. >-double click on your new  
  217. /NextDeveloper/Examples/DriverKit/MyATI/ATI.config
  218. > this will install the new Driver. You can choose the resolution and  
  219. colors.
  220. > With colors I get about 0.89 NXBench-marks, monochrome 1.3 NXBench-marks.
  221. >-Reboot and press Return on the boot prompt to get around the grafic boot  
  222. up,
  223. > to see all that happens. Mostly the debugging output.
  224. >-Be happy or remember point 1) (that one about dirty shutdown).
  225. >
  226. >
  227. > That was it ...  Good luck ... Bye
  228. >
  229. >--
  230. >  "I'm sorry Dave, I'm afraid I can't do that" 
  231.  
  232. >
  233.  
  234.  
  235.  
  236.  
  237. --
  238. Volker Herminghaus-Shirai (vhs@qb.rhein-main.de)
  239.  
  240. Cogito ergo NeXT    -    Save the Whales -- Harpoon a Honda
  241.  
  242.